
# 列表推导式
"""
1. 概念 ：能快速生成一个新列表的一种写法。
2. 作用 ：生成一个新列表， 比较简单
3. 格式 ：[ expB for x in iterable expA ]
4. 说明：
    (1). 执行顺序来说 ，先执行for循环，再执行expA ,最后执行expB .
    (2). expA是一个可选项 ，可以省略
    (3). expA 可以是一个条件语境 ，也可以是循环
    (4). expB 可以是一个值 ，也可以是一个表达式 ，也可以是一个函数 。
"""

# 需求 ：生成一个0~9的列表
lst = []
for x in range(0,10):
    lst.append(x)

print(lst)

print([x for x in range(0,10)])

# 需求2 ：生成一个0~9的列表 ，要求列表中只包含奇数
lst = []
for x in range(0,10):
    if x % 2:
        lst.append(x)
print(lst)

print([x for x in range(1,10,2)])
print([x for x in range(1,10) if x % 2])


lst1 = []
for x in range(1,3):
    for y in ['x','y','z']:
        lst1.append(y+str(x))

print(lst1)

print([y+str(x) for x in range(1,3) for y in ['x','y','z']])